import axios from "axios";

const instance = axios.create({
    baseURL: "https://zcgjcy.com/api",
    // baseURL: "https://zcgjcy.com/server",
    timeout:20000,
    headers:{
        'Content-Type':'application/json',
    },
    maxContentLength:Infinity,
    maxBodyLength:Infinity,
})

// 请求拦截器
instance.interceptors.request.use(
  async (config) => {
    try {
      // 在请求头添加 Authorization
      const token = localStorage.getItem('token');
      if (token) {
        config.headers.Authorization = `Bearer ${token}`;
      }
      return config; 
    } catch (error) {
      console.error('请求拦截器出错:', error);
      return Promise.reject(error);
    }
  },
  (error) => {
    console.error('请求错误:', error);
    return Promise.reject(error);
  }
);

// 响应拦截器
instance.interceptors.response.use(
  async (response) => {
    try {
      return response.data; 
    } catch (error) {
      console.error('响应拦截器出错:', error);
      return Promise.reject(error); 
    }
  },
  async (error) => {
    try {
      if (error.response) {
        switch (error.response.status) {
          case 401:
            console.error('未授权，请登录');
            break;
          case 500:
            console.error('服务器错误');
            break;
          default:
            console.error(`请求错误：${error.response.status}`);
        }
      } else {
        console.error('网络错误或请求超时');
      }
      return Promise.reject(error);
    } catch (catchError) {
      console.error('响应错误处理失败:', catchError);
      return Promise.reject(catchError);
    }
  }
);

export default instance;
